﻿namespace Ln.Fram.AspNetCore.Authentication.OAuth.Gitee;

/// <summary>
/// Default values used by the Gitee authentication middleware.
/// </summary>
public static class GiteeAuthenticationDefaults
{
	/// <summary>
	/// Default value for <see cref="AuthenticationScheme.Name"/>.
	/// </summary>
	public const string AuthenticationScheme = "Gitee";

	/// <summary>
	/// Default value for <see cref="AuthenticationScheme.DisplayName"/>.
	/// </summary>
	public static readonly string DisplayName = "Gitee";

	/// <summary>
	/// Default value for <see cref="AuthenticationSchemeOptions.ClaimsIssuer"/>.
	/// </summary>
	public static readonly string Issuer = "Gitee";

	/// <summary>
	/// Default value for <see cref="RemoteAuthenticationOptions.CallbackPath"/>.
	/// </summary>
	public static readonly string CallbackPath = "/signin-gitee";

	/// <summary>
	/// Default value for <see cref="OAuthOptions.AuthorizationEndpoint"/>.
	/// </summary>
	public static readonly string AuthorizationEndpoint = "https://gitee.com/oauth/authorize";

	/// <summary>
	/// Default value for <see cref="OAuthOptions.TokenEndpoint"/>.
	/// </summary>
	public static readonly string TokenEndpoint = "https://gitee.com/oauth/token";

	/// <summary>
	/// Default value for <see cref="OAuthOptions.UserInformationEndpoint"/>.
	/// </summary>
	public static readonly string UserInformationEndpoint = "https://gitee.com/api/v5/user";

	/// <summary>
	/// Default value for <see cref="GiteeAuthenticationOptions.UserEmailsEndpoint"/>.
	/// </summary>
	public static readonly string UserEmailsEndpoint = "https://gitee.com/api/v5/emails";
}
